package me.jzn.alib.utils;

import android.util.TypedValue;

public class PixUtil {
    //    private static DisplayMetrics sDisplayMetrics = AndrUtil.getDisplayMetrics();

    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    public static int dp2px(float dpValue) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue, AndrUtil.getDisplayMetrics());
        //        final float scale = sDisplayMetrics.density;
        //        return (int) (dpValue * scale + 0.5f);
    }

    /**
     * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
     */
    public static int px2dp(float pxValue) {
        //        return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue, AndrUtil.getDisplayMetrics());
        float scale = AndrUtil.getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    public static int sp2px(float spValue) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, spValue, AndrUtil.getDisplayMetrics());
        //        final float scale = sDisplayMetrics.density;
        //        return (int) (dpValue * scale + 0.5f);
    }

    public static int px2sp(float pxValue) {
        //        return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpValue, AndrUtil.getDisplayMetrics());
        float scale = AndrUtil.getDisplayMetrics().scaledDensity;
        return (int) (pxValue / scale + 0.5f);
    }
}
